Methods and systems for sports simulation

ABSTRACT

A sports simulator calculates the rotational and translational velocity of a sports object. The rotational velocity is calculated using image analysis. The translational velocity is calculated using image analysis and a set of emitters and sensors. The simulator then computes the future trajectory of the sports object based on the rotational and translational velocity. In one embodiment, the sports object is a golf ball and the sports simulator simulates golf.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 15/482,636, filed Apr. 7, 2017 and issued on Oct. 1, 2019 asU.S. Pat. No. 10,427,051, which is a continuation of U.S. patentapplication Ser. No. 14/855,292, filed on Sep. 15, 2015 and issued onApr. 11, 2017 as U.S. Pat. No. 9,616,346, which is a continuation ofU.S. patent application Ser. No. 14/306,081 filed on Jun. 16, 2014 andissued on Sep. 15, 2015 as U.S. Pat. No. 9,132,345, which is acontinuation of U.S. patent application Ser. No. 12/688,659 filed onJan. 15, 2010 and issued on Jun. 24, 2014 as U.S. Pat. No. 8,758,103,which claims the benefit of U.S. Provisional Patent Application Ser. No.61/145,683, filed on Jan. 19, 2009, and the contents of each of theforegoing applications are hereby incorporated herein by reference intheir entirety.

BACKGROUND Field of the Invention

The present invention relates generally to computer based sportssimulators, and more particularly to systems for predicting the futuretrajectory of a sports object.

Description of the Related Art

Golf is a sport that is continuing to grow in popularity. One of golf'smain attractions to enthusiasts is the continual challenge of improvingone's game. To become an adept golfer and to maintain golfingproficiency, a significant amount of practice is required. However, fewenthusiasts have the available time required to play full rounds of golfor to practice hitting golf balls at outdoor driving ranges. To solvethis problem, many have found indoor golf simulators to be a viablealternative.

Golf simulators have been introduced for providing an indoor facility inwhich a golfer can practice all aspects of the golfing game. In orderfor a golf simulator to accurately predict the future trajectory of agolf ball, a golf simulator should measure the translational androtational velocity of the golf ball. However, golf simulators designedto measure the translational and rotational velocity are typicallyexpensive. Therefore, it is desirable to have a golf simulator thataccurately computes the translational and rotational velocity of a golfball in a cost effective manner.

SUMMARY

The system, methods, and devices of the invention each have severalaspects, no single one of which is solely responsible for its desirableattributes. Without limiting the scope of this invention, its moreprominent features will now be discussed briefly. After considering thisdiscussion, and particularly after reading the section entitled“Detailed Description of the Preferred Embodiments” one will understandhow the features of this invention provide advantages over other sportssimulators.

One aspect of the invention is to create an inexpensive sportssimulator, especially for simulating golf. In one such embodiment, theinvention comprises a method for simulating a sports activity comprisingdetecting the launch of a sports object, capturing one or more images ofthe object, determining a first position of the object based at least inpart on at least one of the one or more images, sensing passage of theobject through a plane located between a launch area and a screen,determining a second position of the object based on the sensing,determining one or more components of the translational velocity of theobject based at least in part on the first position and second positionof the object, determining one or more components of rotational velocityof the object based at least in part on the one or more images,computing a future trajectory of the object based at least in part onthe one or more components of rotational velocity and the one or morecomponents of translational velocity, and displaying the futuretrajectory of the object.

An apparatus for simulating a sports activity wherein the futuretrajectory of a sports object is predicted is also provided. Theapparatus comprises one or more strobe lights, a strobe controllercoupled to the strobe lights, a triggering device coupled to the strobecontroller to flash the strobe lights, at least one camera configured tocapture images of the object illuminated by the one or more strobelights, one linear array of emitters for transmitting electromagneticradiation, one or two linear arrays of receivers positioned to receivelight from at least one of the emitters and to generate a signal inresponse thereto, a computer that computes the predicted trajectory ofthe sports object, wherein the computer computes the spin of the sportsobject based at least in part on the captured images and computes thetranslational velocity based at least in part on at least one capturedimage and the signal, and a display that shows the predicted trajectoryof the sports object.

In another embodiment, a system for computer generated animationcomprises a processor configured to: detect the launch of a sportsobject; capture one or more images of the object, determine a firstposition of the object based at least in part on at least one of the oneor more images, sense passage of the object through a plane locatedbetween the launch area and the screen and generating a signal inresponse thereto, determine a second position of the object based atleast in part on the signal, determine one or more components of thetranslational velocity of the object based at least in part on the firstposition and second position of the object; determine one or morecomponents of rotational velocity of the object based at least in parton the one or more images, compute a future trajectory of the objectbased at least in part on the one or more components of rotationalvelocity and the one or more components of translational velocity, anddisplay the future trajectory of the object.

In another embodiment, a method for simulating putting in a golfsimulator comprises sensing a golf ball rolling through a first planelocated between a launch area and a screen, determining a first positionof the golf ball based at least in part on the sensing, sensing the golfball rolling through a second plane located between the first plane andthe screen, determining a second position of the golf ball based atleast in part on the second sensing, determining one or more componentsof the translational velocity of the object based at least in part onthe first position and second position of the object, computing a futuretrajectory of the object based at least in part on the one or morecomponents of translational velocity, and displaying the futuretrajectory of the object.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of one embodiment of a sports simulator.

FIG. 2 is block diagram illustrating one embodiment of a sportssimulator.

FIG. 3 is an illustration of another embodiment of a sports simulator.

FIG. 4 is an illustration of yet another embodiment of a sportssimulator.

FIG. 5 is a block diagram illustrating one embodiment of a method ofsimulating a sport.

FIG. 6 is an illustration of camera and strobe lights in one embodimentof a sports simulator.

FIG. 7 is an illustration of an emitter and sensor array in oneembodiment of a sports simulator.

DETAILED DESCRIPTION

The following detailed description is directed to certain specificembodiments of the development. However, the development can be embodiedin a multitude of different ways as defined and covered by the claims.In this description, reference is made to the drawings wherein likeparts are designated with like numerals throughout.

Golf simulators allow a player to practice his golf swing year round. Inorder for a golf simulator to provide useful practice, a simulatorshould accurately calculate the trajectory of the golf ball in responseto a player's swing. This requires that a simulator calculate both therotational velocity and translational velocity of the golf ball.However, a sports simulator designed to measure both rotational andtranslational velocity is typically expensive. Thus, it is desirable tolesson the cost of such a simulator without decreasing the accuracy ofthe prediction of the golf ball's trajectory.

Translational velocity may be measured based on two points at which thetime and position of an object is known. The system described in Arnold,et al (U.S. Pat. No. 5,333,874) describes one method for calculating thetranslational velocity in a sports simulator using two sets of IRemitters where each set of IR emitters has a corresponding set of IRsensors. The time and position of a sports object as it passes throughthe first set of emitters can be compared to the time and position ofthe sports object as it passes through the second set of emitters. Basedon these measurements, the translational velocity can be computed.However, the two sets of emitters and sensors add significant expense tothe golf simulator. In fact, the set of IR emitters and sensors may eachcost between $30,000 and $50,000.

A less expensive sports simulator may compute the translational velocityof a sports object using only one set of IR emitters and sensors. Theinitial position of the sports object can be determined using imagescaptured by a camera. A triggering device can be used to determine whenthe sports object is launched. Thus, the triggering device detects thetime at which the sports object left the initial position captured inthe images. That initial position and the time determined by thetriggering device can be compared to the position and time that thesports object passes through a single set of IR emitters and sensors.Because only one set of IR emitters and sensors is used, the cost ofsuch a simulator is drastically decreased.

In addition to translational velocity, the rotational velocity of asports object should also be known in order to accurately predict thefuture trajectory of the sports object. A camera may additionally beused to determine the rotational velocity of the sports object. Thecamera may capture multiple images and compare the sports object'sposition in the images to determine the sports object's spin. In orderto determine the time between images, strobe lights and a strobecontroller may be used. A strobe controller may control a set of strobelights so that the lights strobe at regular intervals. The strobe lightsilluminate the sports object so that clean images can be taken. Thus,the rotational velocity can be computed from the sport's objects tworotational positions and the time between strobes. Exemplary embodimentsof methods and systems for determining the rotational velocity of asports object are described in U.S. Patent Publication No. 2009-0042627(corresponding to U.S. patent application Ser. No. 11/837,289), theentire contents of which is incorporated herein by reference.

Aspects of the invention will now be described with reference to theFigures. Referring first to FIG. 1, a sports simulator is illustrated.Common characteristics of a sports simulator include a simulatorenclosure 1, a display or screen 2, and a launch area 3. A sports objectmay be accelerated from the launch area 3 towards the display 2. Forexample, a player could drive, pitch, or putt a golf ball towards thedisplay 2. In some embodiments, no actual simulator enclosure 1 isprovided, and the launch area 3 and the display 2 are set up in a roomor even outdoors. The display 2 may have an image thereon appropriatefor the sport being simulated. The display 2 may be of a suitablematerial and surface to project a video image upon it. In oneembodiment, the image may be projected on the display 2 using aprojector mounted in an area away from possible flight paths of thesports object.

The sports object will typically comprise a ball of some kind. Forexample, a soccer ball could be kicked toward an image of a goal. Inanother example, the sports object is a golf ball, and the image on thedisplay 2 is a fairway, green, or other part of a golf course. In theseembodiments, after the golf ball hits the display 2, an image of theball following a predicted trajectory is generated and shown on display2 to simulate a golf shot in the displayed golf course. Although golfsimulation is a particularly advantageous application of the inventionsdescribed herein, it will be appreciated that other sports simulationcould be performed in accordance with the principles described.

Referring now to FIG. 2, a block diagram is shown illustrating onemethod according to this aspect of the invention for simulating golf. Asmentioned above, displaying an image of the golf ball trajectory on thedisplay screen in an accurate manner requires an evaluation of thevector velocity and spin imparted to the object by the golf club atimpact. The simulation begins at block 3 with the detection of thelocation of the golf ball within the launch area. Launch time can bedetermined by sensing the sound of the club striking the ball with amicrophone. Once the object is in motion at block 4, multiple images ofthe golf ball are captured at block 5. Components of rotational velocityof the golf ball may be calculated as the object travels towards thedisplay 2 from these multiple images. At block 6, the x,y position ofthe golf ball as it passes through a vertical plane on its path to thescreen 2 is determined. The time lapse between the initial club strikeand the time the ball passes through the vertical plane can bedetermined by the same detection mechanism. Translational velocityvectors can be determined by the initial position of the ball, theposition of the ball as it passes through the vertical plane, and thetime lapse between the ball strike and the ball passing through thevertical plane. With the velocities calculated, a prediction of thefuture trajectory 7 is ascertained and then displayed 8 on the screen 2.

FIG. 3 illustrates an apparatus for simulating a sports activity thatmay be used to implement the method of FIG. 2. The apparatus containsthe display 2, a triggering device 9, a processing circuitry 15, atranslation capturing system 14, and a spin capturing system 10. In thisembodiment, the triggering device 9 begins the operation of thesimulator when it detects when a sports object leaves the launch area 3.The triggering device 9 may comprise, for example, a motion detector, amicrophone, or a combination of both. The triggering device can detectwhen an object is struck in the launch area 3 and trigger the operationof the spin capturing system 10 and translation capturing system 14.

Predicting the future trajectory of a sports object requires thecalculation of both translational velocity and rotational velocity.Thus, the simulator contains translation capturing system 14 and spincapturing system 10. The spin capturing system 10 may be comprised of asingle or multiple cameras 11 and a lighting system. The lighting systemin one embodiment is comprised of a strobe controller 12 coupled to oneor more strobe lights 13. The lighting system is preferably sufficientto evenly illuminate the field of view of the object to the field ofview has similar contrast. Greater light intensity will generally beused the further the spin capturing system 10 is away from the object.The translation capturing system 14 may contain, for example, one ormore cameras 18, IR emitters 24, and IR sensors 26. In one embodiment,only one camera is used to perform the functions of both camera 18 andcamera 11.

Processing circuitry 15 is configured to compute rotational andtranslational velocity based on information received from thetranslation capturing system 14 and the spin capturing system 10. Forexample, processing circuitry 15 can be configured to compute componentsof rotational velocity based at least in part on the images captured bythe spin capturing system 10. The processing circuitry 15 can alsocompute the translational velocity of the object and then combine itwith the computed rotational velocity to compute a future trajectory ofthe object. When the object reaches the display 2 or soon thereafter,the future trajectory has been computed and is then displayed on thescreen 2.

In one embodiment, a computer houses the processing circuitry 15 andcontrols the simulation. From the computer, a player can select variousoptions of game play which may include practice modes and golf courseselection. Other configuration settings such as trigger timings, delays,and microphone sensitivity may also be controlled from the computer.

FIG. 4 is an illustration of one embodiment of a sports simulator. Agolfer may stand in the launch area 3 of the simulator and can drive,pitch, or putt a golf ball 17 towards the screen 2. The IR sensors 26are located between the launch area 3 and the display 2. The IR emitters24 are located such that the light emitted from the IR emitters 24 canbe detected by at least one of the IR sensors 26. The camera 18 ispositioned so that it can capture an image of the launch area 3. Thestrobe lights 13 are positioned so that they provide light for thecamera 11. The camera 11 is located such that it can capture an image ofthe sports object as it travels from the launch area 3 to the display 2.

Referring now to FIG. 5, a block diagram is shown illustrating onemethod of simulating a sports activity with a sports simulator.Beginning at block 402, the triggering device 9 detects the launch ofthe sports object in the launch area 3. The triggering device 9 beginsthe operation of the simulator. As noted above with respect to FIG. 3,the triggering device 9 may comprise, for example, a motion detector, amicrophone, or a combination of both. In one embodiment, launch time canbe determined by sensing the sound of a golf club striking a golf ballwith a microphone.

Moving to block 404, the camera 18 captures images of the sports object.The images acquired by camera 18 may be used to determine where in thelaunch area the ball is positioned before it is struck. Image analysiscan be used to locate multiple sports objects in the field of view ofthe camera 18 and to determine which sports object was struck bydetecting motion of a previously identified stationary ball or sportsobject. As shown in FIG. 4, the camera 18 is located so that the launcharea 3 is within its view.

Proceeding to block 406, the processing circuitry 15 determines based onthe images from camera 18 a first position of the sports object. Thisinitial position is used as a first position for determiningtranslational velocity. The time at which the triggering device 9detects the launch of the sports object is used as the time that thesports object was at the initial position calculated at block 404. Theposition and time are used as the initial point in calculatingtranslational velocity.

The camera 18 can also be adjusted for different tee placements forright and left handed players. In general, because the sports object canbe struck at a variety of locations on the launch area 3, the camera 18axis can be tilted slightly to point to the sports object prior toimpact and will often be only approximately rather than exactlyvertical.

At block 408, the processing circuitry 15 determines one or morecomponents of the rotational velocity of the sports object. Once thesports object is launched towards the display 2, the camera 11 takesmultiple images of the sports object in motion. The images acquired bythe camera 11 are processed to produce a measure of the change inangular orientation of the sports object between two or more images. Thestrobe controller 12 and strobe lights 13 of the spin capturing system10 work in conjunction with the camera 11. The strobe controller 12controls the strobe lights 13 so that they strobe at regular intervals.Knowing the time span between strobes, a rotational velocity can bederived. Thus, using multiple strobes on a systematic inter-strobe timeperiod can capture at least two clean images of the object to analyze.The processing circuitry 15 uses the change in the orientation of thesports object in the images to calculate rotational velocity.

Referring now to FIG. 6, the spin capturing system 10 is shown in moredetail. The strobe lights 13 may be placed along the side of the camera11 to illuminate and acquire images of the sports object as it leavesthe launch area 3, such as when the golf ball leaves the tee. As notedabove with respect to FIG. 3, the lighting system is preferablysufficient to evenly illuminate the field of view of the sports objectso the field of view has similar contrast. Greater light intensity willgenerally be used the further the spin capturing system 10 is away fromthe sports object. To minimize the disturbance of flashing strobeslights 13 on the player hitting the sports object, the strobe lights 13are advantageously configured to emit infrared light, and the camera 11may be a CCD and/or a CMOS camera configured to be sensitive to infraredlight. To reduce noise from visible light sources, an infrared filter 16may be coupled to the lens of the camera 11. A visible light camera 18acquires images before the ball is struck to locate the initial ballposition as set forth above.

One advantageous placement of the cameras 11 and the strobe lights 13 isabove the launch area 3. In this embodiment, the camera axes may beapproximately normal to the ground or floor. In these embodiments, theentire launch area is easily captured by the camera 18 that locatesinitial ball position. In addition, the top or back spin as well as spindefining hook and slice are easily visible to the spin acquisitioncamera 11. Furthermore, it has been found that advantageous shadows canbe produced which enhance the edge detection process during imageanalysis. However, it will be appreciated that the camera 11 may also beplaced to the side of the launch area 3. Other embodiments may have thecamera 11 mounted on poles which are not oriented parallel or normal tothe ground, although this makes the image analysis a bit more complex.

In order to allow accurate calculations of the velocity of the sportsobject, the spatial location and orientation of the camera 11 relativeto the sports object are determined. This may be achieved by mounting aninclinometer on the camera 11 to determine the direction of the opticalaxis of the camera 11. Integrated circuit inclinometers are commerciallyavailable and can be used for this purpose. The spatial location of thecamera 11 can be found by taking an image of an object from a knownlocation, and based on the size of the object, the location of thecamera 11 can be found and stored for use in the calculations of anobject's spin.

The analysis of the images may be done using any suitable method.Generally, the first step of image analysis is to define the pixels inthe one or more images that correspond to the sports object. This may bedone by an edge detection method such as by binarizing the image anddetecting the binary large objects (blobs). The blobs can be found bylabeling each color characteristic of the object pixel that is connectedto another. The appropriately shaped blobs represent the object whereasthe other blobs are background artifacts. Another way to perform edgedetection is to use the Canny or Sobel methods. Once the edges arefound, the image processing algorithm can then pick out the edges forthe round shapes which represent the object. Overlapping images of thesports object can be identified by the area and the shape of the blobs,those images can be discarded and used to know which imprint was made bywhich strobe. This gives a time period between two clean images of theobject. Once that is done, the location of the object edges can berefined in order to more accurately pick out the shape and center ofgravity of the object.

Once two clean images of the sports object are identified, the pixelvalues in each image can be compared to determine how much the objectrotated between the two images and around what axes of rotation. Mostobjects have stamps on the poles and equator as well as identificationmarks put on the object by the manufactures. These marks move betweenimages, and comparing their change in position allows a spin vectorcomputation to be made. Even without intentionally created markings,sports objects will include texture on the surface that can be used inthe image analysis in the same basic way. Although changes in objectorientation between images can often be seen easily by eye, it can becomplex to analyze automatically. However, methods to compute componentsof rotational velocity of a variety of objects have been developed usingimage analysis. Examples of such methods have been described in thearticles Tracking the Translational and Rotational Movements of the Ballusing High Speed Camera Movies by Hubert Shum et al., City University ofHong Kong, and Measuring Ball Spin by Image Registration by Tom Tamakiet al., Niigata University. Each of these articles is herebyincorporated by reference in its entirety.

In some such methods, the orientation of the object in each image isdefined by Euler angles. The object pixel values of the first image aretransformed by different Euler angle changes, and the Euler anglechanges that best correlate the pixels of the first image to the pixelsof the second image are determined to compute an orientation changebetween strobes. The Euler angle changes correspond to rotations aboutthree orthogonal axes, which are preferably aligned to the frame ofreference of the simulator. Generally, spin around a vertical axisthrough the center of the ball will define hook and slice. Spin around ahorizontal axis through the center of the ball and parallel to the clubface, for example, will determine top and/or back spin. Spin around ahorizontal axis through the center of the sports object andapproximately normal to the golf club face in a golf simulator willtypically be negligible, and the computation can be simplified if spinaround this axis is ignored. The spin vector may in these embodimentslie in the vertical plane that is approximately parallel to the clubface.

Referring again to FIG. 5, the translation capturing system 14 sensesthe passage of the sports object through a plane located between thelaunch area 3 and the display 2 at block 410. Once the ball has left thelaunch area 3 and the images used to compute the initial location andspin have been captured, the sports object travels through a planedefined by the linear series of IR emitters 24 and the linear series 26of IR sensors, shown in FIG. 4 as positioned between the launch area 3and the display 2. The IR emitters 24 are also positioned such that theIR sensors 26 may detect at least a portion of the light from the IRemitters 24. A signal is generated indicating which IR sensors 26detected light from the IR emitters 24.

FIG. 7 is a diagram illustrating the IR sensors 26 detecting light fromsome of the IR emitters 24. The x,y position of the ball can bedetermined within the plane by sequentially strobing different lightsources in the series of the IR emitters 24. Each IR emitters 24 willilluminate all or essentially all the sensors of the strip of IR sensors26 in the absence of the sports object in the plane.

Referring again to FIG. 5, the processing circuitry 15 determines asecond position of the sports object based on the signal received fromthe translation capturing system 14 at block 412. As shown in FIG. 7,the sports object passes through a plane created by the IR emitters 24and the IR sensors 26. When the sports object passes through this plane,different shadows 28 are produced when each different emitter is turnedon. By detecting which IR sensors 24 do not receive a signal when eachspecific emitter is turned on, the x,y position of the sports object inthe plane can be determined from the angles between each emitter and therespective blocked sensor(s). Because the strobing of the lights in theseries of IR emitters 24 can occur at a duty cycle of severalmicroseconds, multiple strobes of multiple emitters 24 can be performedas the sports object passes through the plane, even when travelling over100 mph.

FIG. 7 shows five IR emitters 24, but more or fewer could be used. Ifthe strobing of the emitters 24 begins at or near the initial triggersignal when the ball is struck, when shadows are detected, the timebetween shadow detection and initial ball strike can also be determined.

Moving to block 414 of FIG. 5, the processing circuitry 15 determinesone or more components of the translational velocity of the sportsobject. Translational velocity vectors can be determined by the initialposition of the ball, the position of the ball as it passes through thevertical plane, and the time lapse between the ball launch and the ballpassing through the vertical plane of IR emitters 26 and IR sensors 24.

Proceeding to block 416, the processing circuitry 15 computes the futuretrajectory of the sports object based on the rotational andtranslational velocity. The future trajectory is calculated usingmethods known to one skilled in the art.

Finally at block 418, the future trajectory of the sports object isshown on the display 2. The future trajectory can be shown with abackground of a golf course or other appropriate background in order togive the simulator a more realistic setting. The sports object can beshown, for example, moving through the picture on the display 2.

A similar method can be used for detecting the future trajectory of asports object when the sports object stays on the ground, such as duringputting. Another linear strip of IR sensors 30, shown in FIG. 4, can beplaced between the first strip of IR sensors 26 and the display 2. For aputt, one or multiple emitters in the strip of IR emitters 24 can beturned on in a continuous mode, illuminating all the sensors in bothstrips of sensors 24 and 30. When the putt is made, the ball will rollover each strip, and the sensor/sensors over which it rolls can bedetected by the temporary signal drop. The sensor identity and the timebetween signal drop in the first strip of IR sensors 26 and the secondstrip of IR sensors 30 can be used to define a velocity vector for theputt, from which the virtual trajectory for the putt is computed and isdisplayed on the display 2. In another embodiment, the camera 18captures an image of the sports object in its initial position, and onlyone set or IR sensors 24 is used for determining velocity. In thatembodiment, the position is determined by the signal drop when thesports object moves over an IR sensor 24.

In view of the above, one will appreciate that the developed embodimentsovercome the problem of costly sports simulators. For example,embodiments allow for a simple inexpensive method of calculating thetranslational and rotational velocity of a sports object in order toproduce the future trajectory of the sports object.

Those of skill will recognize that the various illustrative logicalblocks and algorithm steps described in connection with the embodimentsdisclosed herein may be implemented as electronic hardware, softwarestored on a computer readable medium and executable by a processor, orcombinations of both. To clearly illustrate this interchangeability ofhardware and software, various illustrative components, blocks, modules,circuits, and steps have been described above generally in terms oftheir functionality. Whether such functionality is implemented ashardware or software depends upon the particular application and designconstraints imposed on the overall system. Skilled artisans mayimplement the described functionality in varying ways for eachparticular application, but such implementation decisions should not beinterpreted as causing a departure from the scope of the presentdevelopment.

While the above detailed description has shown, described, and pointedout novel features of the development as applied to various embodiments,it will be understood that various omissions, substitutions, and changesin the form and details of the device or process illustrated may be madeby those skilled in the art without departing from the spirit of thedevelopment. As will be recognized, the present development may beembodied within a form that does not provide all of the features andbenefits set forth herein, as some features may be used or practicedseparately from others. The scope of the development is indicated by theappended claims rather than by the foregoing description. All changeswhich come within the meaning and range of equivalency of the claims areto be embraced within their scope.

What is claimed is:
 1. A system for computer generated golf simulation,the system comprising: a screen configured to have a golf ball launchedthereat and to display a future trajectory of the golf ball thereon; aprojector configured to project a future trajectory of the golf ball onthe screen; a launch area configured to have the golf ball launchedtherefrom and toward the screen; one or more cameras, wherein the one ormore cameras are positioned over the launch area and are configured tocapture one or more images of the launch area; one or more sensor planeslocated between the launch area and the screen; and a processor in datacommunication with the one or more cameras and the one or more sensorplanes, wherein the processor is configured to execute a set ofinstructions to perform a method comprising: detecting a launch of thegolf ball; capturing with the one or more cameras one or more images ofthe launch area as the golf ball is launched from the launch area;sensing passage of the golf ball through the one or more sensor planesusing sensors and emitters located within the one or more sensor planes;determining one or more components of translational velocity of the golfball and rotational velocity of the golf ball at least in part by: usingthe captured one or more images of the launch area to determine a firstposition of the golf ball; using the sensed passage of the golf ballthrough the one or more sensor planes to determine a second position ofthe golf ball; determining a time lapse between when the golf ball islaunched from the first position and when the golf ball passes throughthe second position; and computing the one or more components of thetranslational velocity of the golf ball based on the determined firstposition, the second position, and the time lapse; computing a futuretrajectory of the golf ball based on the one or more components ofrotational velocity and the one or more components of translationalvelocity; and displaying the future trajectory of the golf ball on thescreen.
 2. The system of claim 1 wherein the first position of the golfball is the initial position of the golf ball in the launch area.
 3. Thesystem of claim 1, wherein the one or more sensor planes comprise avertical plane and the second position of the golf ball is a locationwithin the vertical plane.
 4. The system of claim 3, wherein determiningthe time lapse between launch of the golf ball from the first positionand travel of the golf ball through the second position includes:determining a launch time of the golf ball from the first position;determining a second time of the golf ball passing through the verticalplane using the sensors and emitters located with the vertical plane;and computing the time lapse based at least on the difference betweenthe launch time and the second time.
 5. The system of claim 1, whereindetermining the one or more components of rotational velocity of thegolf ball is based at least in part on the captured one or more imagesof the launch area by the one or more cameras.
 6. A method forsimulating golf, comprising: detecting a launch of a golf ball from alaunch area towards a screen; capturing one or more images of the launcharea with one or more cameras as the golf ball is launched towards thescreen; sensing passage of the golf ball through one or more sensorplanes located between the launch area and the screen using sensors andemitters located within the one or more sensor planes; determining oneor more components of translational velocity of the golf ball androtational velocity of the golf ball at least in part by: using thecaptured one or more images of the launch area to determine a firstposition of the golf ball; using the sensed passage of the golf ballthrough the one or more sensor planes to determine a second position ofthe golf ball; determining a time lapse between when the golf ball islaunched from the first position and when the golf ball passes throughthe second position; and computing the one or more components of thetranslational velocity of the golf ball based on the determined firstposition, the second position, and the time lapse; computing a futuretrajectory of the golf ball based at least in part on the one or morecomponents of rotational velocity and the one or more components oftranslational velocity; and displaying the future trajectory of the golfball on the screen.